
package com.bean;

import com.dao.FuncionarioDAO;
import com.thiago.Funcionario;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author Thiago
 */
@ManagedBean(name = "bFunc")
@RequestScoped
public class FuncionarioBeans {
    
    FuncionarioDAO funcionarioDAO = new FuncionarioDAO();
    private String nome_pesquisa;
    private Funcionario funcionario = new Funcionario();
    private List<Funcionario> funcionarios;
    
    public String salvar() throws Exception {

        try {
            if (funcionario.getId() == null) {
                funcionarioDAO.salvar(funcionario);
            } else {
                funcionarioDAO.alterar(funcionario);
            }
            return null;
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Falha na gravação dos dados"));
            return null;
        }
    }
    
    public String alterar(Funcionario funcionario) throws Exception {

        this.funcionario = funcionario;
        return null;
        
    }
    
     public String excluir(Funcionario funcionario) throws Exception {

       funcionarioDAO.excluir(funcionario);
        return null;
        
    }
    
    public String limpar() throws Exception {

       funcionario = null;
        return "funcionario_cadastro";
        
    }

    public Funcionario getFuncionario() {
        return funcionario;
    }

    public void setFuncionario(Funcionario funcionario) {
        this.funcionario = funcionario;
    }

    public List<Funcionario> getFuncionarios() {
        
        if (funcionarios == null) {
            
            funcionarios = funcionarioDAO.listarFuncionario();
            
        }
        return funcionarios;
    }

    public void setFuncionarios(List<Funcionario> funcionarios) {
        this.funcionarios = funcionarios;
    }

    public String getNome_pesquisa() {
        return nome_pesquisa;
    }

    public void setNome_pesquisa(String nome_pesquisa) {
        this.nome_pesquisa = nome_pesquisa;
    }
    
    public String pesquisar(){
     funcionarios = funcionarioDAO.pesquisar(nome_pesquisa);
      
        return null;
    }
    
    
}
